Endpoint detection in chemical mechanical polishing using multiple spectra

ABSTRACT

A computer implemented method includes obtaining at least one current spectrum with an in-situ optical monitoring system, comparing the current spectrum to a plurality of different reference spectra, and determining based on the comparing whether a polishing endpoint has been achieved for the substrate having the outermost layer undergoing polishing. The current spectrum is a spectrum of light reflected from a substrate having an outermost layer undergoing polishing and at least one underlying layer. The plurality of reference spectra represent spectra of light reflected from substrates with outermost layers having the same thickness and underlying layers having different thicknesses.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Ser.No. 61/049,965, filed on May 2, 2008.

BACKGROUND

The present invention relates to generally to spectrographic monitoringof a substrate during chemical mechanical polishing.

An integrated circuit is typically formed on a substrate by thesequential deposition of conductive, semiconductive, or insulativelayers on a silicon wafer. One fabrication step involves depositing afiller layer over a non-planar surface and planarizing the filler layer.For certain applications, the filler layer is planarized until the topsurface of a patterned layer is exposed. A conductive filler layer, forexample, can be deposited on a patterned insulative layer to fill thetrenches or holes in the insulative layer. After planarization, theportions of the conductive layer remaining between the raised pattern ofthe insulative layer form vias, plugs, and lines that provide conductivepaths between thin film circuits on the substrate. For otherapplications, such as oxide polishing, the filler layer is planarizeduntil a predetermined thickness is left over the non planar surface. Inaddition, planarization of the substrate surface is usually required forphotolithography.

Chemical mechanical polishing (CMP) is one accepted method ofplanarization. This planarization method typically requires that thesubstrate be mounted on a carrier or polishing head. The exposed surfaceof the substrate is typically placed against a rotating polishing diskpad or belt pad. The polishing pad can be either a standard pad or afixed abrasive pad. A standard pad has a durable roughened surface,whereas a fixed-abrasive pad has abrasive particles held in acontainment media. The carrier head provides a controllable load on thesubstrate to push it against the polishing pad. A polishing liquid, suchas a slurry with abrasive particles, is typically supplied to thesurface of the polishing pad.

One problem in CMP is determining whether the polishing process iscomplete, i.e., whether a substrate layer has been planarized to adesired flatness or thickness, or when a desired amount of material hasbeen removed. Overpolishing (removing too much) of a conductive layer orfilm leads to increased circuit resistance. On the other hand,underpolishing (removing too little) of a conductive layer leads toelectrical shorting. Variations in the initial thickness of thesubstrate layer, the slurry composition, the polishing pad condition,the relative speed between the polishing pad and the substrate, and theload on the substrate can cause variations in the material removal rate.These variations cause variations in the time needed to reach thepolishing endpoint. Therefore, the polishing endpoint cannot bedetermined merely as a function of polishing time.

SUMMARY

In one general aspect, a computer implemented method includes obtainingat least one current spectrum with an in-situ optical monitoring system,comparing the current spectrum to a plurality of different referencespectra, and determining based on the comparing whether a polishingendpoint has been achieved for a substrate having an outermost layerundergoing polishing. The current spectrum is a spectrum of lightreflected from a substrate having an outermost layer undergoingpolishing and at least one underlying layer. The plurality of referencespectra represent spectra of light reflected from substrates withoutermost layers having the same thickness and underlying layers havingdifferent thicknesses.

Implementations can include one or more of the following. Determiningwhether the polishing endpoint has been achieved may include calculatingdifferences between the current spectrum and the reference spectra.Determining whether the polishing endpoint has been achieved may includedetermining whether at least one of the differences has reached athreshold value. The at least one of the differences may be a smallestdifference. Determining whether the polishing endpoint has been achievedmay include activating an endpoint detection algorithm when at least oneof the differences has reached a threshold value. Determining whetherthe polishing endpoint has been achieved may include generating adifference trace that includes multiple points, each point representinga smallest of the differences calculated for a revolution of the platen.The endpoint detection algorithm may include determining whether thedifference trace has reached a minimum. Determining whether thedifference trace has reached a minimum may include calculating a slopeof the difference trace or determining whether the difference trace hasrisen to a threshold value above the minimum. The reference spectra maybe generated empirically or generated from theory.

In another aspect, a computer program product, encoded on a tangibleprogram carrier, operable to cause data processing apparatus to performoperations comprising the steps of the method above.

As used in the instant specification, the term substrate can include,for example, a product substrate (e.g., which includes multiple memoryor processor dies), a test substrate, a bare substrate, and a gatingsubstrate. The substrate can be at various stages of integrated circuitfabrication, e.g., the substrate can be a bare wafer, or it can includeone or more deposited and/or patterned layers. The term substrate caninclude circular disks and rectangular sheets.

Possible advantages of implementations of the invention can include oneor more of the following. The endpoint detection system can be lesssensitive to variations between substrates in the underlying layers orpattern, and thus reliability of the endpoint system can be improved.The use of multiple reference spectra (as oppose to a single referencespectrum) improves accuracy in endpoint determination by providing adifference or endpoint trace that is generally smoother than a tracegenerated by using a single reference-spectrum technique.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,aspects, and advantages of the invention will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a substrate.

FIG. 2 shows a chemical mechanical polishing apparatus.

FIG. 3 is an overhead view of a polishing pad and shows locations wherein-situ measurements are taken.

FIG. 4 is a flow diagram of determining a polishing endpoint.

FIG. 5 illustrates a difference trace from a spectrographic monitoringsystem.

FIG. 6 is a flow diagram of another implementation of determining apolishing endpoint.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Referring to FIG. 1, a substrate 10 can include a wafer 12, an outermostlayer 14 that will undergo polishing, and one or more underlying layers16, some of which are typically patterned, between the outermost layer16 and the wafer 12. One potential problem with spectrographic endpointdetection during chemical mechanical polishing is that the thickness(es)of the underlying layer(s) can vary from substrate to substrate. As aresult, substrates in which the outermost layer has the same thicknesscan actually reflect different spectra, depending on the underlyinglayer(s). Consequently, a target spectrum used to trigger a polishingendpoint for some substrates may not function properly for othersubstrates, e.g., if the underlying layers have different thicknesses.However, it is possible to compensate for this effect by comparingspectra obtained during polishing against multiple spectra, where themultiple spectra represent variations in the underlying layer(s).

FIG. 2 shows a polishing apparatus 20 operable to polish a substrate 10.The polishing apparatus 20 includes a rotatable disk-shaped platen 24,on which a polishing pad 30 is situated. The platen is operable torotate about axis 25. For example, a motor can turn a drive shaft 22 torotate the platen 24.

Optical access 36 through the polishing pad is provided by including anaperture (i.e., a hole that runs through the pad) or a solid window. Thesolid window can be secured to the polishing pad, although in someimplementations the solid window can be supported on the platen 24 andproject into an aperture in the polishing pad. The polishing pad 30 isusually placed on the platen 24 so that the aperture or window overliesan optical head 53 situated in a recess 26 of the platen 24. The opticalhead 53 consequently has optical access through the aperture or windowto a substrate being polished. The optical head is further describedbelow.

The polishing apparatus 20 includes a combined slurry/rinse arm 39.During polishing, the arm 39 is operable to dispense a polishing liquid38, such as a slurry. Alternatively, the polishing apparatus includes aslurry port operable to dispense slurry onto polishing pad 30.

The polishing apparatus 20 includes a carrier head 70 operable to holdthe substrate 10 against the polishing pad 30. The carrier head 70 issuspended from a support structure 72, for example, a carousel, and isconnected by a carrier drive shaft 74 to a carrier head rotation motor76 so that the carrier head can rotate about an axis 71. In addition,the carrier head 70 can oscillate laterally in a radial slot formed inthe support structure 72. In operation, the platen is rotated about itscentral axis 25, and the carrier head is rotated about its central axis71 and translated laterally across the top surface of the polishing pad.

The polishing apparatus also includes an optical monitoring system,which can be used to determine a polishing endpoint as discussed below.The optical monitoring system includes a light source 51 and a lightdetector 52. Light passes from the light source 51, through the opticalaccess 36 in the polishing pad 30, impinges and is reflected from thesubstrate 10 back through the optical access 36, and travels to thelight detector 52.

A bifurcated optical cable 54 can be used to transmit the light from thelight source 51 to the optical access 36 and back from the opticalaccess 36 to the light detector 52. The bifurcated optical cable 54 caninclude a “trunk” 55 and two “branches” 56 and 58.

As mentioned above, the platen 24 includes the recess 26, in which theoptical head 53 is situated. The optical head 53 holds one end of thetrunk 55 of the bifurcated fiber cable 54, which is configured to conveylight to and from a substrate surface being polished. The optical head53 can include one or more lenses or a window overlying the end of thebifurcated fiber cable 54. Alternatively, the optical head 53 can merelyhold the end of the trunk 55 adjacent the solid window in the polishingpad. The optical head 53 can hold the above described nozzles of theflushing system. The optical head 53 can be removed from the recess 26as required, for example, to effect preventive or correctivemaintenance.

The platen includes a removable in-situ monitoring module 50. Thein-situ monitoring module 50 can include one or more of the following:the light source 51, the light detector 52, and circuitry for sendingand receiving signals to and from the light source 51 and light detector52. For example, the output of the detector 52 can be a digitalelectronic signal that passes through a rotary coupler, e.g., a slipring, in the drive shaft 22 to the controller for the optical monitoringsystem. Similarly, the light source can be turned on or off in responseto control commands in digital electronic signals that pass from thecontroller through the rotary coupler to the module 50.

The in-situ monitoring module can also hold the respective ends of thebranch portions 56 and 58 of the bifurcated optical fiber 54. The lightsource is operable to transmit light, which is conveyed through thebranch 56 and out the end of the trunk 55 located in the optical head53, and which impinges on a substrate being polished. Light reflectedfrom the substrate is received at the end of the trunk 55 located in theoptical head 53 and conveyed through the branch 58 to the light detector52.

In one implementation, the bifurcated fiber cable 54 is a bundle ofoptical fibers. The bundle includes a first group of optical fibers anda second group of optical fibers. An optical fiber in the first group isconnected to convey light from the light source 51 to a substratesurface being polished. An optical fiber in the second group isconnected to received light reflecting from the substrate surface beingpolished and convey the received light to a light detector. The opticalfibers can be arranged so that the optical fibers in the second groupform an X like shape that is centered on the longitudinal axis of thebifurcated optical fiber 54 (as viewed in a cross section of thebifurcated fiber cable 54). Alternatively, other arrangements can beimplemented. For example, the optical fibers in the second group canform V like shapes that are mirror images of each other. A suitablebifurcated optical fiber is available from Verity Instruments, Inc. ofCarrollton, Tex.

The light source 51 is operable to emit white light. In oneimplementation, the white light emitted includes light havingwavelengths of 200-800 nanometers. A suitable light source is a xenonlamp or a xenon mercury lamp.

The light detector 52 can be a spectrometer. A spectrometer is basicallyan optical instrument for measuring intensity of light over a portion ofthe electromagnetic spectrum. A suitable spectrometer is a gratingspectrometer. Typical output for a spectrometer is the intensity of thelight as a function of wavelength.

The light source 51 and light detector 52 are connected to a computingdevice operable to control their operation and to receive their signals.The computing device can include a microprocessor situated near thepolishing apparatus, e.g., a personal computer. With respect to control,the computing device can, for example, synchronize activation of thelight source 51 with the rotation of the platen 24. As shown in FIG. 3,the computer can cause the light source 51 to emit a series of flashesstarting just before and ending just after the substrate 10 passes overthe in-situ monitoring module. (Each of points 301-311 depictedrepresents a location where light from the in-situ monitoring moduleimpinged and reflected off.) Alternatively, the computer can cause thelight source 51 to emit light continuously starting just before andending just after the substrate 10 passes over the in-situ monitoringmodule. In either case, the signal from the detector can be integratedover a sampling period to generate spectra measurements at a samplingfrequency. Although not shown, each time the substrate 10 passes overthe monitoring module, the alignment of the substrate with themonitoring module can be different than in the previous pass. Over onerotation of the platen, spectra are obtained from different radii on thesubstrate. That is, some spectra are obtained from locations closer tothe center of the substrate and some are closer to the edge. Inaddition, over multiple rotations of the platen, a sequence of spectracan be obtained over time.

In operation, the computing device can receive, for example, a signalthat carries information describing a spectrum of the light received bythe light detector 52 for a particular flash of the light source or timeframe of the detector. Thus, this spectrum is a spectrum measuredin-situ during polishing.

Without being limited to any particular theory, the spectrum of lightreflected from the substrate 10 evolves as polishing progresses due tochanges in the thickness of the outermost layer, thus yielding asequence of time-varying spectra. Moreover, particular spectra areexhibited by particular thicknesses of the layer stack.

The computing device can process the signal to determine an endpoint ofa polishing step. In particular, the computing device can execute logicthat determines, based on the measured spectra, when an endpoint hasbeen reached.

In brief, the computing device can compare the measured spectra tomultiple reference spectra, and uses the results of the comparison todetermine when an endpoint has been reached.

As used herein, a reference spectrum is a predefined spectrum generatedprior to polishing of the substrate. A reference spectrum can have apre-defined association, i.e., defined prior to the polishing operation,with a value of a substrate property, such as a thickness of theoutermost layer. A reference spectrum can be generated empirically,e.g., by measuring the spectrum from a test substrate having a knownlayer thicknesses, or generated from theory.

A reference spectrum can be a target spectrum, which can be anendpoint-process compensated target spectrum or an uncompensated targetspectrum. An uncompensated target spectrum refers to a spectrumexhibited by the substrate when the outermost layer has a targetthickness. By way of example, a target thickness can be one to threemicrons. Alternatively, the target thickness can be zero, for example,when the film of interest is cleared so that an underlying film isexposed. However, there may be a lag time between the system receiving aspectrum representing the target thickness and the time that polishinghalts (which can be due to the endpoint detection algorithm needingspectra from multiple platen rotations, time for instructions to betransmitted from controller to processing system, and time needed tohalt rotation of the platen). Therefore, the polishing endpoint can beset at a time prior to achieving the target thickness. Anendpoint-process compensated target spectrum is a spectrum that whenused to trigger a polishing endpoint under a particular endpointalgorithm and polishing control system results in the substrate havingsubstantially the target thickness, e.g., significantly closer to thetarget thickness than if no compensation for the lag time were made.

As noted above, there are multiple reference spectra for a particularthickness of interest for the outermost layer. Such is the case becausediffering thicknesses in the underlying layer(s) for differentsubstrates can result in different spectra even if the outermost layerhas the same thickness. In addition, substrates for different integratedchip products will have different patterning of the layers, which alsocan result in different spectra even if the outermost layer has the samethickness. Thus, there can be multiple spectra for a particularthickness of the outermost layer, and the multiple spectra can includespectra that are different from each other because of differingthicknesses in the underlying layer(s) or differing patterns due to thesubstrate being intended to provide different products.

The reference spectra are collected prior to the polishing operation,and the association of each reference spectrum with its associatedsubstrate property is stored. The reference spectra can be determinedempirically.

For example, to determine a target spectrum, a property of a “set-up”substrate with the same pattern as the product substrate can be measuredpre-polish at a metrology station. The substrate property can be thethickness of the outermost layer. The set-up substrate is then polishedwhile spectra are collected. The set-up substrate can be removedperiodically from the polishing system, and its properties measured at ametrology station. The substrate can be overpolished, i.e., polishedpast a desired thickness, so that the spectrum of the light thatreflected from the substrate when the target thickness is achieved canbe obtained.

The measured thicknesses and the collected spectra are used to select,from among the collected spectra, one or more spectra determined to beexhibited by the substrate when it had a thickness of interest. Inparticular, linear interpolation can be performed using the measured prepolish film thickness and post polish substrate thicknesses to determinethe time and corresponding spectrum exhibited when the target thicknesswas achieved. The spectrum or spectra determined to be exhibited whenthe target thickness was achieved are designated to be the targetspectrum or target spectra.

These steps can then be repeated for one or more additional set-upsubstrates with the same pattern as the product substrate but with adifferent thicknesses of the underlying layer(s) to generate additionalreference spectra. Thus, the resulting collection of reference spectraincludes target spectra for the same target thickness but which differfrom each other because of differing thicknesses in the underlyinglayer(s).

Alternatively or in addition, these steps can then be repeated for oneor more additional set-up substrates with different patterns from theproduct substrate to generate additional reference spectra. Thus, theresulting collection of reference spectra includes target spectra forthe same target thickness but which differ from each other because ofdiffering patterns.

Optionally, the spectra collected are processed to enhance accuracyand/or precision. The spectra can be processed, for example: tonormalize them to a common reference, to average them, and/or to filternoise from them.

In addition, some or all of the reference spectra can be calculated fromtheory, e.g., using an optical model of the substrate layers.

FIG. 4 shows a method 200 for using spectra based endpoint determinationlogic to determine an endpoint of a polishing step. A product substrateis polished using the above-described polishing apparatus (step 402). Ateach revolution of the platen, the following steps are performed.

At least one spectrum of light reflecting off a substrate surface beingpolished is measured (step 404). Optionally, multiple spectra can bemeasured, e.g., spectra measured at different radii on the substrate canbe obtained from a single rotation of platen, e.g., at points 301-311(FIG. 3). If multiple spectra are measured, a subset of one or more ofthe spectra can be selected for use in the endpoint detection algorithm.For example, spectra measured at sample locations near the center of thesubstrate (for example, at points 305, 306, and 307 shown in FIG. 3)could be selected. The spectra measured during the current platenrevolution are optionally processed to enhance accuracy and/orprecision.

A difference between each of the selected measured spectra and each ofthe reference spectra is calculated (step 406). The reference spectracan be a target spectra. In one implementation, the difference is a sumof differences in intensities over a range of wavelengths. That is,

${Difference} = {\sum\limits_{\lambda = a}^{b}{{abs}\left( {{I_{current}(\lambda)} - {I_{reference}(\lambda)}} \right)}}$

where a and b are the lower limit and upper limit of the range ofwavelengths of a spectrum, respectively, and I_(current)(λ) andI_(reference)(λ) are the intensity of a current spectra and theintensity of the target spectra for a given wavelength, respectively.Alternatively, the difference can be calculated as a mean square error,that is:

${Difference} = {\sum\limits_{\lambda = a}^{b}\left( {{I_{current}(\lambda)} - {I_{reference}(\lambda)}} \right)^{2}}$

One way to calculate a difference between each of the current spectraand each of the reference spectra is to select each of the currentspectra. For each selected current spectra, the difference is calculatedagainst each of the reference spectra. Given current spectra e, f, andg, and reference spectra E, F, and G, for example, a difference would becalculated for each of the following combinations of current andreference spectra: e and E, e and F, e and G, f and E, f and F, f and G,g and E, g and F, and g and G.

The smallest of the calculated differences is appended to a differencetrace (step 408). The difference trace is usually updated once perplaten revolution. The difference trace is generally a plot of one ofthe calculated differences (in this case the smallest of the differencescalculated for the current platen revolution). As an alternative to thesmallest difference, another of the differences, for example, a medianof the differences or the next to smallest difference, can be appendedto the trace.

Optionally, the difference trace can be processed, for example,smoothing the difference trace by filtering out a calculated differencethat deviates beyond a threshold from preceding one or more calculateddifferences.

Whether the difference trace is below a threshold value is determined(step 410). Once the difference trace crosses the below the threshold,endpoint logic is initiated and can be applied to detect an endpointcondition, e.g., the minimum of the difference trace (step 412). Forexample, the endpoint can be called when the different trace begins torise past a particular threshold value of the minimum, or called if theslope of the difference trace falls below a threshold that is near zero,or other window logic can be applied. Once the endpoint logic detectsthe endpoint condition (step 414), polishing is halted (step 416).

In some implementations, once the difference trace falls below athreshold value, the particular reference spectrum that provided theclosest match, e.g., the smallest difference from the measured spectrum,is then used as the only reference spectrum for the remainder of theendpoint determination process. This ensures that endpoint is based on atarget spectra that represents a substrate in which the underlyinglayers are similar to the substrate being polished.

By using multiple reference spectra representing substrates withunderlying layers of different thicknesses, the endpoint detectionsystem becomes less sensitive to variations in the underlying layers,and thus reliability of the endpoint system can be improved. Similarly,by using multiple reference spectra representing substrates withdifferent patterns, the endpoint detection system becomes less sensitiveto variations in the pattern, and thus reliability of the endpointsystem can be improved.

If the difference trace is NOT determined to have reached a thresholdrange of a minimum, polishing is allowed to continue and steps 404, 406,408, are repeated as appropriate.

FIG. 5 is an exemplary graph of a difference trace as a function of timeillustrates the thresholds. Trace 502 is the difference trace, which canalready be filtered and smoothed. Endpoint detection 508 is activatedwhen the smoothed difference trace 502 reaches a threshold value 504above the minimum 506.

FIG. 6 shows a method 600 for determining an endpoint of a polishingstep. Prior to the polishing operation, reference spectra are generated,e.g., collected empirically, such as by polishing a set up substrate andmeasuring the spectra, or calculated from theory, e.g., using an opticalmodel of the substrate layers. The spectra are stored in a library.However, unlike the process of FIG. 4 in which only target spectrarepresenting the target thickness are used, the reference spectra in thelibrary represent substrates with a variety of different thicknesses inthe outer layer. The measured spectra are then compared to the spectrain the library and one of the spectra in the library is selected as amatch.

The spectra are indexed so that each spectrum from the collection ofspectra representing a substrate with a particular underlying layerthickness has a unique index value (spectra representing substrates withdifferent underlying layer thicknesses can be associated with the sameindex value). The indexing is implemented so that the index values aresequenced in an order in which the spectra were measured or are expectedto be measured during polishing. An index value can be selected tomonotonically increase as polishing progresses, e.g., the index valuescan be proportional, e.g., linearly proportional, to a number of platenrotations. Thus, each index number can be a whole number, and the indexnumber can represent the expected platen rotation at which theassociated spectrum would appear. The library can be implemented inmemory of the computing device of the polishing apparatus.

A substrate from the batch of substrates is polished (step 602), and thefollowing steps are performed for each platen revolution. One or morespectra are measured to obtain a current spectra for a current platenrevolution (step 604). The spectra stored in the library which best fitsthe current spectra is determined (step 606). The index of the libraryspectrum that is the best fit to the current spectrum is determined fromthe library (step 608), and is appended to an endpoint index trace (step610). As discussed above, the index can be determined prior to thepolishing operation and stored, e.g., as database that relates thespectra to the index, for later access. Endpoint is called when theendpoint trace reaches the index of the target spectrum (step 612).

In some embodiments, the indexes that are matched to each obtainedspectrum are plotted according to time or platen rotation. A line is fitto the plotted index numbers using robust line fitting. Where the linemeets the target index defines the endpoint time or rotation.

As discussed above, by using multiple reference spectra representingsubstrates with underlying layers of different thicknesses, the endpointdetection system becomes less sensitive to variations in the underlyinglayers, and thus reliability of the endpoint system can be improved.

A method that can be applied during the endpointing process is to limitthe portion of the library that is searched for matching spectra. Thelibrary typically includes a wider range of spectra than will beobtained while polishing a substrate. The wider range accounts forspectra obtained from a thicker starting outermost layer and spectraobtained after overpolishing. During substrate polishing, the librarysearching is limited to a predetermined range of library spectra. Insome embodiments, the current rotational index N of a substrate beingpolished is determined. N can be determined by searching all of thelibrary spectra. For the spectra obtained during a subsequent rotation,the library is searched within a range of freedom of N. That is, ifduring one rotation the index number is found to be N, during asubsequent rotation which is X rotations later, where the freedom is Y,the range that will be searched from (N+X)−Y to (N+X)+Y. For example, ifat the first polishing rotation of a substrate, the matching index isfound to be 8 and the freedom is selected to be 5, for spectra obtainedduring the second rotation, only spectra corresponding to index numbers9±5 are examined for a match.

Embodiments of the invention and all of the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructural means disclosed in this specification and structuralequivalents thereof, or in combinations of them. Embodiments of theinvention can be implemented as one or more computer program products,i.e., one or more computer programs tangibly embodied in an informationcarrier, e.g., in a machine-readable storage device or in a propagatedsignal, for execution by, or to control the operation of, dataprocessing apparatus, e.g., a programmable processor, a computer, ormultiple processors or computers. A computer program (also known as aprogram, software, software application, or code) can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program does notnecessarily correspond to a file. A program can be stored in a portionof a file that holds other programs or data, in a single file dedicatedto the program in question, or in multiple coordinated files (e.g.,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be deployed to be executed on one computeror on multiple computers at one site or distributed across multiplesites and interconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

The above described polishing apparatus and methods can be applied in avariety of polishing systems. Either the polishing pad, or the carrierhead, or both can move to provide relative motion between the polishingsurface and the substrate. For example, the platen may orbit rather thanrotate. The polishing pad can be a circular (or some other shape) padsecured to the platen. Some aspects of the endpoint detection system maybe applicable to linear polishing systems, e.g., where the polishing padis a continuous or a reel-to-reel belt that moves linearly. Thepolishing layer can be a standard (for example, polyurethane with orwithout fillers) polishing material, a soft material, or afixed-abrasive material. Terms of relative positioning are used; itshould be understood that the polishing surface and substrate can beheld in a vertical orientation or some other orientation.

Particular embodiments of the invention have been described. Otherembodiments are within the scope of the following claims. For example,the actions recited in the claims can be performed in a different orderand still achieve desirable results.

1. A computer implemented method comprising: obtaining at least onecurrent spectrum with an in-situ optical monitoring system, the currentspectrum being a spectrum of light reflected from a substrate having anoutermost layer undergoing polishing and at least one underlying layer;comparing the current spectrum to a plurality of different referencespectra, the plurality of reference spectra representing spectra oflight reflected from substrates with outermost layers having the samethickness and underlying layers having different thicknesses; anddetermining based on the comparing whether a polishing endpoint has beenachieved for the substrate having the outermost layer undergoingpolishing.
 2. The method of claim 1, wherein determining whether thepolishing endpoint has been achieved includes calculating differencesbetween the current spectrum and the reference spectra.
 3. The method ofclaim 2, wherein determining whether the polishing endpoint has beenachieved includes determining whether at least one of the differenceshas reached a threshold value.
 4. The method of claim 3, wherein the atleast one of the differences is a smallest difference from thedifferences.
 5. The method of claim 3, wherein the at least one of thedifferences is a median difference from of the differences.
 6. Themethod of claim 2, wherein determining whether the polishing endpointhas been achieved includes activating an endpoint detection algorithmwhen at least one of the differences has reached a threshold value. 7.The method of claim 6, wherein determining whether the polishingendpoint has been achieved includes generating a difference trace thatincludes multiple points, each point representing a smallest of thedifferences calculated for a revolution of the platen.
 8. The method ofclaim 7, wherein the endpoint detection algorithm includes determiningwhether the difference trace has reached a minimum.
 9. The method ofclaim 8, wherein determining whether the difference trace has reached aminimum includes calculating a slope of the difference trace.
 10. Themethod of claim 7, wherein the endpoint detection algorithm includesdetermining whether the difference trace has risen to a threshold valueabove the minimum.
 11. The method of claim 1, wherein the referencespectra are generated empirically.
 12. The method of claim 1, whereinthe reference spectra are generated from theory.
 13. The method of claim1, further comprising obtaining a plurality of current spectra atdifferent times.
 14. The method of claim 13, wherein the plurality ofcurrent spectra include a sequence of current spectra from a pluralityof sweeps of the in-situ optical monitoring system across the substrate.15. The method of claim 13, wherein the plurality of current spectrainclude a plurality of current spectra from a same sweep of the in-situoptical monitoring system across the substrate.
 16. The method of claim14, further comprising comparing the plurality of current spectra fromthe same sweep to the plurality of reference spectra to generate aplurality of differences between the current spectra and the referencespectra.
 17. The method of claim 15, further comprising, determining asmallest of the plurality of differences and using the smallest of theplurality of differences to determine whether a polishing endpoint hasbeen achieved.
 18. A computer program product, encoded on a tangibleprogram carrier, operable to cause data processing apparatus to performoperations comprising: obtaining at least one current spectrum with anin-situ optical monitoring system, the current spectrum being a spectrumof light reflected from a substrate having an outermost layer undergoingpolishing and at least one underlying layer; comparing the currentspectrum to a plurality of different reference spectra, the plurality ofreference spectra representing spectra of light reflected fromsubstrates with outermost layers having the same thickness andunderlying layers having different thicknesses; and determining based onthe comparing whether a polishing endpoint has been achieved for thesubstrate having the outermost layer undergoing polishing.